Index of /~bochmann/SEG-2106-2506/Examples-previous-years/Assignment-4/example-solution-2002 (Tropper)/JavaProgram-English

Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [   ] Bank.java 26-Mar-2008 18:00 4.2K [   ] Cashier.java 26-Mar-2008 18:00 2.3K [   ] Client.java 26-Mar-2008 18:00 867 [   ] ClientQueue.java 26-Mar-2008 18:00 2.7K [   ] GenerateurR.java 26-Mar-2008 18:00 501 [   ] WS_FTP.LOG 09-Jan-2012 04:32 3.7K
*************************
***** PLEASE NOTE : *****
*************************
This project is translated from the French version. Some things might have been
missed. Of particular importance
-'file' (French) = queue (English)
-closing comments were not translated
-client is used where customer may be more appropriate
-lineup and queue are used almost interchangably

Authors :
=========
prof. S. Somé		(problem description)
Anne Bertrand		(original)
Robin Tropper		(original and modification)
prof. G. Bochmann	(directed refactoring)

Description :
=============
This program simulates the waiting time and service time at a bank lineup. Very
simplistically, a number C of cashiers are serving a number L of lineups.

The lineups have priorities. The presented system grants priorities naïvely
by their index in the list of lineups.

Different service times are arbitrarily given to each client and a different
time for paperwork is arbitrarily given to each cahshier. 

The current simulator supposes only 2 queues (enterprises and individuals). But
the system is already capable of handling dynamicly adding and removing lineups.
To do so, a cashier must be able to see an UNKNOWN number of lineups each and
every time s/he is ready to serve another client

BUG :
=====
See the file Bank.java for details. If the bug occurs, simply stop the program
and restart it.

Modelling :
===========
-architecture.png : ultra-simple diagram of entities and their relations 
-overview.png : intuitive survey of the objects and their responsibilities
-sequenceService.png : typical sequence (simplified) of actions taken in the
use-case "next" (invite the next client). 

System requirements :
=====================
-running only : JRE 1.5 or better with correctly set environment variables
-modification : JDK 1.5 or better with your development environment correctly configured.

Running it :
===========
-no command-line arguments
-the 'main' is in Bank.java

Modifications :
===============
-number of cashiers : in Banque.java
-number/priority of lineups : in Bank.java
-paperwork time : Cashier.java